Output management device setting apparatus and setting method

ABSTRACT

It is an object of the present invention to install a print server simply. In the present invention, a port monitor, an IP address and a data sending method corresponding to an installed logical printer are acquired and stored in an installed logical printer information storage module, by an installed logical printer analysis module. A logical printer auto-creation module creates the port monitor of the logical printer to be used by the print server to be installed, based on the stored information, and associates the port monitor as the port monitor of a newly created logical printer or the existing logical printer.

FIELD OF THE INVENTION

[0001] The present invention relates to an output management devicesetting apparatus and a setting method thereof and the like to be usedfor setting procedures necessary for operating, for example, a printserver apparatus (hereinafter, also simply referred to as “printserver”) for providing a distributed printing service via a computernetwork, a distributed printing system which has a terminal device suchas a personal computer as an output management device connected to aprinter in two-way communication therewith, or the like.

BACKGROUND OF THE INVENTION

[0002] In recent years, for example, a laser beam printer having highprinting grade has been generally used even at an office whose businessis not printing itself, due to development in low cost printers. Inaddition, networking of computer devices used in the office has beenalso developed significantly in recent years. Against such a background,it has not been exceptional to use a plurality of printers connected toa network in an ordinary office. As such a printer usage form has becomegeneral, how to utilize the plurality of printers connected to thenetwork effectively has become a new challenge.

[0003] In network systems, in order to print with a personal computer(PC) as a network terminal, there are many network systems provided witha print server such that the PC enables to print without exchangingprint data, control information and the like with the printers byitself. Providing the print server provides mainly the following merits(1) and (2).

[0004] (1) It is possible to minimize processes dependent on anindividual printer running on a client PC, and put loads for that to theprint server. Thereby, for example, when a user executes a printingprocess of a document on the client PC, it is possible to reduce aprocessing time on the above described client PC, that is, the user'swait time.

[0005] Specifically, for example, if “Microsoft Windows(R)”(hereinafter, referred to as “Windows”) is used as an operating system(OS) of the client PC and the client PC executes the printing processwith the printer via the print server, the client PC generates anintermediate file independent of the printer (the intermediate file),instead of a data file inherent to the printer which may be processeddirectly by the printer (the data file including control commandsinherent to the above described printer), and sends the above describedintermediate file to the print server.

[0006] The print server generates the data inherent to the printer basedon the intermediate file from the client PC, sends the above describeddata (printer-dependent commands) to the printer. Therefore, the clientPC may reduce processes for printing by means of the printer, via theprint server.

[0007] (2) It is possible to process a value-added print job.

[0008] For example, by setting a priority for processing for each printjob, if a plurality of print jobs become simultaneously waiting to beprocessed, a processing order may be determined based on the prioritieswhich the print jobs have. Therefore, it may be possible to print theprint job of a document which is necessary to print urgently and thelike, in preference to others. In addition, for example, the printserver may provide an alternate printing service for selecting anotherprinter instead to execute the printing process, if an error has beenoccurred in the printer to which the print server attempts to send theprint job received from the client PC, a distributed printing servicefor logically splitting one print job and causing the plurality ofprinters to execute the printing process in parallel in order to reducea printing time, and the like.

[0009] Here, the above described distributed printing service will bedescribed specifically. For example, in a network print system, it isassumed that “Windows” is used as the operating system (OS) of theclient PC and the print server, and the client PC executes the printingprocess with the printer via the print server.

[0010] First, a system manager prepares one or more logical printers onthe print server.

[0011] On the other hand, the logical printer corresponding to thelogical printer prepared on the print server is created on the clientPC.

[0012] “Logical printer” as used herein is a physical printer modeled onthe OS, that is, “Windows”, and is for example, a printer driver used inconversion from document data into the data to be sent to the printer,or an object managing various information such as a destination foroutputting the data of the print job, and the like.

[0013] When the user of the client PC, on which “Windows” operates,executes to print with an application program, he specifies the logicalprinter and gives an instruction to execute the printing.

[0014] Thereby, “Windows” operating on the client PC converts a drawcommand received from the application program into a data format calledan EMF format.

[0015] “EMF format” is the data format which inherits characteristics ofa graphics system called “GDI” of “Windows”, which is independent of thedevices (the printer and the like), and does not include any command orinformation dependent on the devices.

[0016] Then, “Windows” on the client PC transfers the print job dataconverted into the EMF format to the print server.

[0017] “Windows” on the print server stores the print job data in theEMF format received from the client PC, on a memory such as a hard disktemporarily, thereafter reads the print job data in the EMF format fromthe above described memory, and converts the above described read datainto the data format of a page description language (PDL) supported bythe above described printer, using the printer driver of the printerwith which the printing process is to be executed.

[0018] Subsequently, “Windows” on the print server sends the convertedprint job data as described above to the printer via a module called aport monitor.

[0019] It should be noted that if the printer to be a target is anetwork printer connected directly to the network, the print job data issent via a NIC (network interface card) as a network interface.

[0020] The printer receives the print job data (the print job data inthe PDL format) from the print server and interprets the PDL to executethe printing process.

[0021] It should be noted that details of the printing process as usedherein are described in a publication called “Resource Kit” issued foreach version of “Windows”.

[0022] Focusing on a configuration of the network print system (printingsystem) using “Windows” as described above, third parties have executeda feature expansion as will be described below.

[0023] First, though with respect to a print object created by “Windows”on the print server, the port monitor module is typically set as aprogram module for transferring the print job data to the physicalprinter, this port monitor module is replaced with a module for passingthe print job data to another print service program operating on theprint server. This module is a module for executing a feature in whichthe print job data is not sent to the printer, but for example, storedas a file on the hard disk, such that the print service program acquiresthe print job data by reading the above described file, executes aunique process on it and sends the processed print job data describedabove to the printer.

[0024] Having such a configuration, the print service program may addthe feature which is not included in “Windows”, as the feature of theprint server to provide the feature expansion.

[0025] A distributed printing feature in the distributed printingservice is realized by using the above described feature expansion.“Distributed printing feature” is a feature of logically splitting oneprint job to generate a plurality of split jobs, and allocating thesesplit jobs among the plurality of printers to cause the above describedplurality of printers to execute the printing process. Thereby it ispossible to reduce the time required for the print job.

[0026] Though some methods may be applied to as a method for logicallysplitting one print job, as typical methods, there are a method forsplitting the print job based on the number of copies, a method forsplitting the document to be printed into a page direction, and thelike.

[0027] In the case of the method for splitting the print job based onthe number of copies, a sum of the numbers of copies to be printed inthe respective printers equals to the number of copies specified in theprint job before being split.

[0028] On the other hand, in the case of the method for splitting thedocument to be printed into the page direction, a collection of all ofpage ranges to be printed in the respective printers equals to the wholepage range of the document to be printed with the print job before beingsplit.

[0029] In the distributed printing feature, it is necessary topreviously decide and set a split ratio for splitting the original printjob to allocate with respect to the plurality of printers. As a methodfor setting the split ratio, for example, there are a method for settingthe split ratio such that the numbers of output are equal with respectto the plurality of printers to be targets of the distributed printing,a method for allocating the split ratio with an inclination depending onprinting speed performances of the printers such that the number ofoutput of the printer having a fast printing speed is larger thanothers, and the like.

[0030] The above described two methods of splitting the print job arebased on concepts of splitting which are originally different from eachother, and it is also possible to combine these methods in principle.

[0031] For example, with respect to a print job for printing 10 copiesof a document whose output results in 100 sheets for a copy, if theabove described print job is printed with four printers, first, theprint job is split into two jobs whose numbers of copies are 5respectively, further these two jobs are split into jobs of 1 to 50sheets and jobs of 51 to 100 sheets respectively, and the resultant fourjobs (the split jobs) are allocated with respect to the four printers.

[0032] Therefore, it is necessary to set the split ratio of the printjob in the distributed printing feature, in a plurality of typesdepending on the splitting method.

[0033] With the feature expansion in the network print system asdescribed above, there may be printers added with the features of thefollowing examples:

[0034] a printer configured to execute an alternate printing processaccording to the priority of the devices previously decided; and

[0035] a printer configured to, when the error occurs in the printer,register again an unprocessed file output request registered in anoutput queue corresponding to the printer in which the error occurs,into another output queue corresponding to another normal printer tochange an output printer.

[0036] By the way, though the above description assumes a usage form inwhich the a plurality of users share the print server, a form may bealso considered in which a single end user uses on his machine thesystem for providing a value-added printing feature such as thealternate printing feature as described above.

[0037] In order to operate the above described print server, the systemmanager not only installs modules configuring software in the machine,but also creates the logical printer on the print server machine to beused on the above described print server system. In addition, if thesystem having the value-added printing feature is used on the end user'smachine, the end user sets the logical printer by himself. In eithercase, it is necessary to set a type, an address on the network or thelike of the printer depending on its environment. This setting isexecuted in Windows in the following method.

[0038] First, the port monitor for processing the print data to be sentto the printer is created. This is executed with a setting tool attachedto the print server. The setting tool is provided with a user interface,and the user inputs information necessary for creating the port monitor.This necessary information includes at least the followings:

[0039] a model name of the printer;

[0040] an address of the network interface of the printer, which isassigned uniquely in the network;

[0041] a method for transferring the print data to the printer andsetting information necessary for the transfer; and

[0042] an instance name of the port monitor to be created. (Further,some features included in the print server may require more detailedinformation on the printer, which is omitted herein.)

[0043] Next, the printer driver is installed. This installation isexecuted by selecting an appropriate one of the model names of theprinters specified in creation of the port monitor. Then, it isdetermined first whether a desired printer driver has been alreadyinstalled, and if it has been installed, the installation is notexecuted again, and the installation is actually executed only if it hasnot been installed.

[0044] Finally, an instance of the logical printer is created. When theinstance of the logical printer is created, the following information isspecified as its attributes:

[0045] the instance name of the port monitor;

[0046] a name of the printer driver; and

[0047] an instance name of the logical printer to be created.

[0048] It should be noted again that further, some features included inthe print server may require more detailed information on the logicalprinter, which is omitted herein.

[0049] As seen with the above described attributes, the port monitor andthe printer driver, which have been created or installed based on theinformation regarding the printer to be used, are specified in thelogical printer. It should be noted here that in Windows, printer deviceinformation is not included directly in the setting information of thelogical printer itself, and the printer device information is separatelymanaged in the port monitor assigned to the logical printer and isassociated with the logical printer via the port monitor. Accordingly,even if the instance of the port monitor assigned to a certain logicalprinter is replaced with another port monitor, there is no problem inmechanism as far as the model of the printer set for the replaced portmonitor is the model which is compliant with the printer driver assignedto the above described logical printer.

[0050] As described above, by introducing the print server, it ispossible to extend the printing feature of the OS to add the featurewhich the OS does not have originally. However, in order to do so, it isnecessary for the system manager to create the one or more logicalprinters on the machine on which the print server operates, and set upthe environment of the print server, as described above.

[0051] In addition, in the case of the form in which a single user usesthe above described system for providing the value-added printingfeature, the user must set up the system by himself.

[0052] However, in order to create the logical printer, it is necessaryto input correctly the information on the model name or the address ofthe printer device, the name of an appropriate printer driver and thelike. This task is not just bothersome, but also, if the end user setsup the system by himself, problems are likely to occur such that it isdifficult for the end user to acquire the information for the setup, orthat the end user is confused due to lack of understanding of theinformation necessary to input. Furthermore, even though the systemmanager executes this task, the task itself becomes complicated as thenumber of the logical printers to be created is increased, andaccordingly it becomes more likely to occur mistakes in the setup.

SUMMARY OF THE INVENTION

[0053] The present invention has been made in order to eliminate theabove described disadvantages and an object of the present invention isto provide an output system setting apparatus, a setting method thereofand the like with which system settings may be executed without puttinga burden on a user and also without causing any mistake, when a printserver or a print system for providing a value-added printing feature isinstalled in a computer.

[0054] Specifically, a first object of the present invention is toprovide the output system setting apparatus, the setting method thereofand the like, for utilizing information set in an instance of a logicalprinter which has existed before the print server or the print systemfor providing the value-added printing feature is installed, to enableto create easily and quickly the instance of the logical printer for theabove described print server or the print system for providing thevalue-added printing feature.

[0055] In addition, a second object of the present invention is toprovide an output management device setting apparatus, a setting methodthereof and the like, for searching a printer device connected to anetwork and utilizing information acquired from the printer device, toenable to create easily and quickly the instance of the logical printerfor the above described print server or the print system for providingthe value-added printing feature.

[0056] In order to realize the above described objects, the presentinvention has a configuration as will be described below.

[0057] A first invention is an output management device settingapparatus for an output management device utilizing a logical outputdevice assigned with unique communication control means for conducting acommunication with an output device on a network, for setting the abovedescribed logical output device, including:

[0058] control means for setting the above described uniquecommunication control means based on information set in generalcommunication control means assigned to the logical output device whichhas already existed before the above described output management deviceis installed.

[0059] With this configuration, it is possible to utilize a new logicaloutput device based on the information on the existing logical outputdevice, thereby reducing the burden on the user in the setting.

[0060] Other features and advantageous of the present invention will beapparent from the following description taken in conjunction with theaccompanying drawings, in which like reference characters designate thesame or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

[0061] The accompanying drawings, which are incorporated in andconstitute a part of the specification, illustrate embodiments of theinvention and, together with the description, serve to explain theprinciples of the invention.

[0062]FIG. 1 is a block diagram showing a configuration of a personalcomputer (PC) applied with the present invention;

[0063]FIG. 2 is a block diagram showing a module configuration of aprint server setting program in a first embodiment applied with thepresent invention;

[0064]FIG. 3 is a flowchart showing a summary of a procedure of creatinga logical printer in the print server setting program in the firstembodiment applied with the present invention;

[0065]FIG. 4 is a flowchart showing details of step S301 of theflowchart shown in FIG. 3;

[0066]FIG. 5 is a flowchart showing details of step S302 of theflowchart shown in FIG. 3;

[0067]FIG. 6 shows a configuration example of a network system;

[0068]FIG. 7 is a block diagram showing a module configuration of aprint server setting program in a second embodiment applied with thepresent invention;

[0069]FIG. 8 is a flowchart showing a summary of a procedure of creatingthe logical printer in the print server setting program in the secondembodiment applied with the present invention;

[0070]FIG. 9 is a flowchart showing details of step S801 of theflowchart shown in FIG. 8; and

[0071]FIG. 10 is a flowchart showing details of step S802 of theflowchart shown in FIG. 8.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0072] [First Embodiment]

[0073] As a first embodiment, when a program for realizing a printserver is installed in a computer, a program for auto-generating a newlogical printer applied with a feature expansion by the print serverusing an existing logical printer will be described below.

[0074] The embodiment of the present invention will be described belowwith reference to the drawings.

[0075] The present invention is applied to, for example, a personalcomputer (PC) 100 as shown in FIG. 1.

[0076] The PC 100 of this embodiment may be applied as a setting tool ina user machine, in which a print server or a print system having avalue-added printing feature is installed, in a network print system asshown in FIG. 6. For example, if the PC 100 is applied as the settingtool for the print server, it may be implemented in a feature ofcreating the logical printer on the print server. Particularly, anobject of the PC 100 of this embodiment is to increase convenience bycreating the logical printer using setting information in a generallogical printer which has been already set before the above describedprint server software or the print system having the value-addedprinting feature is installed, thereby eliminating a necessity for auser to input information regarding the creation of the logical printer.

[0077] <Network Configuration>

[0078] First, a configuration of a network system in which the printserver of this embodiment is used will be described. FIG. 6 shows ageneral configuration of a network print system (printing system) 1300using the print server.

[0079] In the network print system 1300, as shown in FIG. 6, first,various peripheral devices not shown are connectable to local areanetworks (LANs) 1350 and 1360.

[0080] A printer 1302 having an open architecture is connected as ashared printer to the LAN 1350 via a network interface (NIC) 1301.

[0081] The NIC 1301 is connected to the LAN 1350 such as “Ethernet”,with “coaxial connector (10Base-2)” or “RJ-45 connector (10/100Base-T)”and the like.

[0082] A print server 1308 is configured with the personal computer (PC)for example, and causes a plurality of printers 1309(1), 1309(2) and thelike (1309(x)) or a printer 1302 installed at a remote place and thelike to execute a printing process.

[0083] PCs 1303 and 1304 are connected to the LAN 1350 and cancommunicate with the print server 1308 under the control of a networkoperating system.

[0084] Accordingly, for example, if the arbitrary PC 1303 wants to causethe printer 1302 to execute the printing process, the PC 1303 do nothave to communicate with a printer 1305 via the NIC 1301 to exchangeprint data or control information and the like with the printer 1302,but instead the PC 1303 may leave that task to the print server 1308 asfollows.

[0085] For example, first, the PC 1303 sends data of a print job createdby starting application software and the like on its side, not to theprinter 1302 but to the print server 1308.

[0086] The print server 1308 retains temporarily the data of the printjob from the PC 1303 in a local data storage memory (not shown) such asa hard disk.

[0087] Since the print server 1308 may accept a plurality of print jobsby using the above storage memory, if the plurality of print jobs areretained waiting to be processed in the above described storage memory,the print server 1308 determines the print job to be processed nextaccording to a predetermined policy.

[0088] The print server 1308 reads the data of the print job determinedto be processed next from the above described storage memory, and sendsthe above described print job via the NIC 1301 to the printer 1302 orthe arbitrary printer 1309(x).

[0089] Then, the print server 1308 converts with a printer driver, asnecessary, the data of the print job to be sent into a page descriptionlanguage (PDL) and a control command supported by the printer 1302 or1309(x) and sends them.

[0090] The PCs 1303, 1304 and the print server 1308 as described abovemay generate a data file, send the above described data file to the LAN1350, receive the data file from the LAN 1350, and display and/orprocess the above described data file, with a general configuration ofthe PC.

[0091] For example, as the PCs 1303, 1304 and the print server 1308,other computer devices may be applied which are appropriate to executenetwork software. More specifically, it is possible to use UNIX softwareto include a UNIX workstation in a network, and use the above describedworkstation together with the PCs 1303, 1304 and the like under anappropriate status.

[0092] Here, general LANs used as a LAN 1320, the LAN 1350 and the LAN1360 provide services to a relatively local user group, such as a usergroup at one floor or contiguous floors in one building.

[0093] For example, if respective users exist at other buildings or inother prefectures and the like, a wide area network (WAN) is formed ascertain users put some distance from other users. The WAN is anaggregate formed by connecting a number of LANs with a high-speeddigital line such as an integrated services digital network (ISDN).

[0094] Accordingly, in the network print system 1300, as shown in FIG.6, the LAN 1320, the LAN 1350 and the LAN 1360 are connected to oneanother via modems/transponders 1330 a, 1330 b and a backbone 1340 toform the WAN.

[0095] To the LAN 1360, a PC 1311, a PC 1312, a file server 1313 havinga network disk 1314 connected thereto, and a print server 1315 having aplurality of printers 1316(1), 1316(2) and the like connected theretoare connected as necessary.

[0096] In addition, to the LAN 1320, a PC 1321 and a PC 1322 areconnected as necessary.

[0097] The devices connected to the LAN 1320, the LAN 1350 and the LAN1360 may access features of the devices connected to other LANs, via theWAN connection.

[0098] Next, a configuration and an operation of the PC 100 of thisembodiment will be described specifically.

[0099] <Hard Configuration of PC 100>

[0100] The PC 100 is configured with a CPU 101, a ROM 102, a RAM 103, akeyboard controller (KBC) 105 for a keyboard (KB) 109, a CRT controller(CRTC) 106 for a CRT display (CRT) 110 as a display unit, a diskcontroller (DKC) 107 for a hard disk (HD) 111 and a flexible disk (FD)112, and a network interface controller (NIC) 108 for connecting with anetwork (LAN) 113, which are connected via a system bus 104 incommunication with one another.

[0101] The CPU 101 controls each component connected to the system bus104 as a whole by executing software stored in the ROM 102 or the HD111, or software provided by the FD 112 (a print server program and thelike).

[0102] That is, the CPU 101 controls for realizing operations in thisembodiment by reading and executing a processing program according to apredetermined processing sequence from the ROM 102, or the HD 111, orthe FD 112.

[0103] The RAM 103 functions as a main memory or a work area and thelike in the CPU 101.

[0104] The KBC 105 controls input of instructions via the KB 109, apointing device not shown or the like.

[0105] The CRTC 106 controls the display of the CRT 110.

[0106] The DKC 107 controls accesses with the HD 111 and the FD 112 forstoring a boot program, various applications, an edit file, a user file,a network management program, the predetermined processing programs inthis embodiment and the like.

[0107] The NIC 108 exchanges the data in two-way with devices or systems(a print server, client PCs, printers and the like) on a LAN 113.

[0108] In the HD 111, the print server program for functioning the PC100 as the print server, a print server setting program applied with thepresent invention and the like are stored. That is, when the abovedescribed programs in the HD 111 are read and executed by the CPU 101,the PC 100 functions as the print server and the print server settingprogram applied with the present invention and the like

[0109] Therefore, in the whole description as described below, theentity of execution is the CPU 101 with respect to hardware, unlessotherwise noted. On the other hand, the entity of the control withrespect to the software is the software stored in the HD 111 such as theprint server program.

[0110] In this embodiment, though “WindowsNT 4.0 Server(R)” made byMicrosoft Corp. is assumed as the OS of the PC 100 for example, the OSis not limited to it.

[0111] It should be noted that the place for storing the software suchas the print server program and the print server setting program appliedwith the present invention is not limited to the HD 111, but forexample, an arbitrary storage medium such as the FD 112 or a CD-ROM maybe applied. In this case, the CPU 101 reads the programs from the abovedescribed storage medium and installs them in the HDD 111.

[0112] <Module Configuration and Operation in the Case Where PC 100Functions as Print Server Setting Program>

[0113]FIG. 2 shows specifically an inner software module configurationof the print server setting program (=200) running on the print serverin the case where the PC 100 shown in FIG. 1 operates as the printserver. Here, since details of a configuration of the print serveritself depart from significance of the present invention, they areomitted from the description. However, it should be noted that the abovedescribed print server uses the logical printer assigned with a uniqueone as a port monitor in Windows.

[0114] A total control module 201 conducts the total control of innerprocesses of the print server setting program 200. Specifically, thetotal control module 201 causes an installed logical printer analysismodule 202 and a logical printer auto-creation module 215 thereunder toexecute the processes sequentially, and as a result of the processes, tocreate the logical printer dedicated to the above described printserver.

[0115] The total control module 201 first calls the installed logicalprinter analysis module 202. The installed logical printer analysismodule 202 first determines whether the general logical printer existsor not, before creating the logical printer dedicated to the abovedescribed print server, and if the general logical printer exists,extracts contents of its setting and stores in an installed logicalprinter information storage module 214.

[0116] The installed logical printer analysis module 202 has thereundera logical printer detection module 203, a port monitor analysis module204 and an installed logical printer compliant model determinationmodule 211.

[0117] The logical printer detection module 203 detects all of thelogical printers installed in the OS and passes information on them tothe installed logical printer analysis module 202.

[0118] The port monitor analysis module 204 has further thereunder aport monitor type determination module 205, an IP address acquisitionmodule 207 and a print job sending method acquisition module 209.

[0119] The port monitor type determination module 205 determines whetherthe port monitor assigned to the detected logical printer is the onewhich is compliant with the print server setting program 200. There is aplug-in module for each compliant type of the port monitor. In thisembodiment, the port monitor is compliant only with a Standard TCP/IPport prepared standardly in Windows 2000, and only a Standard TCP/IPport determination plug-in module 206 is shown in FIG. 2.

[0120] The port monitor analysis module 204 calls the IP addressacquisition module 207 with respect to the logical printer determined bythe port monitor type determination module 205 to have been assignedwith the port monitor supported by this program. The IP addressacquisition module 207 acquires the IP address set for the port monitorvia an IP address plug-in module depending on the type of the portmonitor (a Standard TCP/IP port IP address acquisition plug-in module isshown in this embodiment), and returns the IP address to the portmonitor analysis module 204. Furthermore, the port monitor analysismodule 204 also calls the print job sending method acquisition module209. The print job sending method acquisition module 209 acquires amethod for transferring print job data to a printer device, of LPR orRAW set in the port monitor, and also a queue name in the case of LPR,or a port number in the case of RAW. This acquisition is executed viathe print job sending method acquisition plug-in module depending on thetype of the port monitor (the Standard TCP/IP port print job sendingmethod acquisition plug-in module is shown in this embodiment). Anacquisition result is returned to the port monitor analysis module 204.The port monitor analysis module 204 passes the information collectedfrom the port monitor to the upper installed logical printer analysismodule 202.

[0121] Next, once the installed logical printer analysis module 202completes the analysis on the port monitor, it calls the installedlogical printer compliant model determination module 211 next. Theinstalled logical printer compliant model determination module 211 firstacquires a printer driver name assigned to the above described logicalprinter with an installed logical printer driver name acquisition module212, and further calls a model/driver name conversion module 213 toderive a type of the printer device from the acquired printer drivername.

[0122] The port monitor analysis module 204 returns the informationregarding the IP address and the LPR queue name acquired as describedabove to the upper installed logical printer analysis module 202, andthe installed logical printer analysis module 202 stores the returnedinformation in the installed logical printer information storage module214. The installed logical printer information storage module 214 storesthe information to be stored in tables arranged by installed logicalprinter names.

[0123] That is, the information to be stored in the logical printerinformation storage module is as follows for each logical printer:

[0124] (1) the IP address of the logical printer determined to have beenassigned with the supported port monitor;

[0125] (2) the method for transferring the print job data to the printerdevice, of LPR or RAW set in the port monitor;

[0126] (3) the queue name in the case of LPR, or the port number in thecase of RAW;

[0127] (4) the printer driver name assigned to the logical printer; and

[0128] (5) the printer device type assigned to the logical printer.

[0129] The above information is acquired from the logical printer whichhas been already set, and retained. In this embodiment, since it isassumed that the print server setting program 200 is compliant only withthe TCP/IP, the IP address and the like are acquired and stored.However, with respect to the logical printer which has been already set,a port corresponding to that logical printer has been set, and items tobe stored in the above (1) is that port which has been set. With respectto the logical printer which is compliant with the TCP/IP, since the IPaddress has been set as its port, that IP address is stored in thelogical printer information storage module. Similarly, even with respectto the logical printer which is compliant with another protocol, oncondition that the logical printer is compliant with the print serversetting program 200, the port corresponding to the logical printer isacquired and stored. In addition, it is the same with respect to aprinter connected locally to the print server. That is, more generally,the above information may be described in other words as follows:

[0130] (1) an address of the logical printer;

[0131] (2) the method for transferring the print data to the printerdevice;

[0132] (3) a destination of data sent depending on the method fortransferring the print data;

[0133] (4) the printer driver name assigned to the logical printer; and

[0134] (5) the printer device type assigned to the logical printer.

[0135] Once the installed logical printer analysis module 202 completesthe above processes, the total control module 201 calls the logicalprinter auto-creation module 215 next. The logical printer auto-creationmodule 215 reads the information stored in the installed logical printerinformation storage module 214 and executes the following processes.

[0136] First, the read IP address and a printer device model name arepassed to a print server dedicated port monitor creation module 216 tocreate the port monitor. Next, the logical printer is created by usingthe created port monitor and the printer driver name read from theinstalled logical printer information storage module 214. Theseprocesses are executed for each installed logical printer read from theinstalled logical printer information storage module 214.

[0137] <Process Flow of Print Server Setting Program 200>

[0138]FIG. 3 is a flowchart showing specifically a function of the abovedescribed print server setting program 200. The program shown in FIG. 3is an environment setting program to be executed if an auto-setup is setwhen the user installs software for executing a distributed printing oran alternate printing. If the auto-setup is not set, the user executesthe environment setting manually.

[0139] Step S301:

[0140] The total control module 201 calls the installed logical printeranalysis module 202 to detect the installed logical printer, andextracts necessary information from the detected logical printer tostore it temporarily.

[0141] Step S302:

[0142] The dedicated logical printer to be used in the above describedprint server is created by using the information extracted and storedtemporarily in step S301.

[0143]FIG. 4 shows the above described step S301 in more detail.

[0144] Step S401:

[0145] The logical printer detection module 203 acquires listinformation on the logical printer (218) installed on the OS, viaWindows API (Application Program Interface) 217.

[0146] Step S402:

[0147] The installed logical printer analysis module 202 determineswhether one or more logical printers are detected as a result of stepS401.

[0148] Step S403:

[0149] If one or more logical printers are detected in step S402, theinstalled logical printer analysis module 202 controls to execute thefollowing processes from step S404 for each of the logical printers.Therefore, the installed logical printer analysis module 202 determineswhether there is any logical printer unprocessed.

[0150] Step S404:

[0151] One of the unprocessed logical printers is selected within theprogram.

[0152] Step S405:

[0153] The port monitor type determination module 205 and its plug-inmodule, the Standard TCP/IP port determination plug-in module, determinewhether the port monitor assigned to the logical printer selected instep S404 is the Standard TCP/IP port.

[0154] Step S406:

[0155] The installed logical printer analysis module 202 passes theinstalled logical printer name received from the port monitor analysismodule 204 to the installed logical printer information storage module214 to store it.

[0156] Step S407:

[0157] The installed logical printer analysis module 202 passes the IPaddress which the port monitor assigned to the installed logical printerhas, received from the port monitor analysis module 204, to theinstalled logical printer information storage module 214 to store it.

[0158] Step S408:

[0159] The installed logical printer analysis module 202 passes theprint job sending method and information thereon which the port monitorassigned to the installed logical printer has, received from the portmonitor analysis module 204, to the installed logical printerinformation storage module 214 to store it.

[0160] Step S409:

[0161] The installed logical printer analysis module 202 passes theprinter device model name received from the installed logical printercompliant model determination module 211, to the installed logicalprinter information storage module 214 to store it. After processing ofthe Step S409, the process returns to the Step S403.

[0162]FIG. 5 shows step S302 of FIG. 3 in more detail.

[0163] Step S501:

[0164] It is determined whether there is any logical printer unprocessedin the installed logical printer information storage module 214.

[0165] Step S502:

[0166] One of the unprocessed logical printers in the installed logicalprinter information storage module 214 is selected, within the program.

[0167] Step S503:

[0168] The IP address regarding the logical printer selected in stepS502 is acquired from the installed logical printer information storagemodule 214.

[0169] Step S504:

[0170] The print job sending method and the information thereonregarding the logical printer selected in step S502 are acquired fromthe installed logical printer information storage module 214.

[0171] Step S505:

[0172] The port monitor dedicated to the above described print server iscreated by using the information acquired in steps S503 and S504.

[0173] Step S506:

[0174] The printer driver name assigned to the logical printer selectedin step S502 is acquired from the installed logical printer informationstorage module 214.

[0175] Step S507:

[0176] The new logical printer is created based on the port monitorcreated in step S505 and the printer driver name acquired in step S506.

[0177] According to the above described procedure, based on theinformation acquired from the logical printer which has been alreadyregistered, it is possible to create a new port monitor for realizing anextended feature to be realized in an output system, and to create thenew logical printer assigned with that new port monitor. The new portmonitor to be created is generated as an object in which a memberfunction for a service provided in the new port monitor and the like aredescribed, which are previously prepared by the print server settingprogram 200 according to the present invention. As the service to berealized by the member function of the new port monitor generated, thereis a feature of, for example, storing the print job data in the harddisk of the print server once without sending it to the printer, thenreading the print job data to apply thereto a unique process such assplitting the job depending on contents of specification specified atthe same time of specifying the printing, and sending the print job datato the printer in the system, and the like. When an instance of the portmonitor is generated, the IP address, the data sending method and thelike retained are used as its members.

[0178] Therefore, if the existing logical printer is registered, byusing the information on that logical printer, the user may receive theextended feature provided by the print server without executing thesetting regarding the logical printer, when the print server is set.

[0179] As described above, according to this embodiment, it may bepossible to reduce a process of creating the logical printer for a printserver system to be used for the logical printer assigned with aninherent port monitor, or for the system for providing the value-addedprinting feature, by using the information on the logical printer whichhas been already installed. Thereby, this embodiment contributes toreduction in the user's effort regarding to the setting task.

[0180] [Modification to the First Embodiment]

[0181] In the first embodiment as described above, the logical printerto be used by the print server is newly created in addition to theexisting logical printer. However, the logical printer auto-creationmodule 215 may also replace the port monitor of the existing logicalprinter with the port monitor created in step S505, in step S507 of FIG.5. Therefore, it is possible to prevent the logical printer which is notused in the print server from remaining therein and it is possible toprevent a discrepancy between the user's intention and an output resultdue to misuse of the logical printer and the like.

[0182] [Second Embodiment]

[0183] Next, as a second embodiment, when a program for realizing aprint server is installed in the computer, the print server settingprogram for searching the printer device connected to the network andusing information acquired from the printer device, to enable to createeasily and quickly an instance of the logical printer for the abovedescribed print server or the print system for providing the value-addedprinting feature, will be described below.

[0184] <Module Configuration and Operation in the Case Where PC 100Functions as Print Server Setting Program>

[0185]FIG. 7 shows specifically, an inner software module configurationof a print server setting program 700 running on the print server in thecase where the PC 100 shown in FIG. 1 operates as the print server,similarly to the first embodiment. Here, since details of theconfiguration of the print server itself depart from the significance ofthe present invention, they are omitted from the description. However,it should be noted that the above described print server uses thelogical printer assigned with a unique one as the port monitor inWindows. In addition, the network system to which the print server isconnected is also shown in FIG. 6, similarly to the first embodiment.

[0186] A total control module 701 conducts the total control of innerprocesses of the print server setting program 700. Specifically, thetotal control module 701 causes an printer device information collectionmodule 702 and a logical printer auto-creation module 703 thereunder toexecute the processes sequentially, and as a result of the processes, tocreate one or more logical printers dedicated to the above describedprint server.

[0187] The total control module 701 first calls a printer deviceinformation collection module 702. The called printer device informationcollection module 702 calls a network printer device search module 705thereunder. The network printer device search module 705 searches theprinter device connected to the network by broadcasting packetsfollowing a SNMP protocol as a network management protocol, on thenetwork. The packet returned from the printer device which responds tothe broadcasting has information on the model name and the IP address ofits device. The network printer device search module 705 returns theinformation on the model names and the IP addresses included in alleffective response packets, to the printer device information collectionmodule 702. The printer device information collection module 702 storesthe above described returned information in a printer device informationstorage module 704. It should be noted that this procedure of collectingthe device information with the SNMP protocol is standardized by IETFand is used generally.

[0188] Once the printer device information collection module 702completes the above process, the total control module 701 calls thelogical printer auto-creation module 703 next. The logical printerauto-creation module 703 reads the model name and the IP address storedin the printer device information storage module 704 and executes thefollowing processes.

[0189] First, if the read model name is of an unsupported model, thislogical printer information is ignored and the model name of a nextentry is acquired. (If the next entry does not exist, the processreturns to the total control module 701.) If the read model name is asupported model, the model name is passed to a driver name conversionmodule 706 to acquire the printer driver name corresponding to the modelname. Next, the model name is passed to a job sending method informationacquisition module 707 to acquire the method for sending the print jobto the printer device and initial setting information regarding it. Inthis embodiment, the former is LPR or RAW, and the latter has the LPRqueue name in the case of LPR, or has the port number in the case ofRAW. This acquired information is static information managed by the jobsending method information acquisition module 707, and the informationis previously decided for each model uniquely.

[0190] In addition to the IP address acquired from the printer deviceinformation storage module 704, the logical printer auto-creation module703 passes the above described information acquired from the job sendingmethod information acquisition module 707 to a print server dedicatedport monitor creation module 708. The print server dedicated portmonitor creation module 708 passes the model name and the job sendingmethod information to a port monitor initial value acquisition modulethereunder to generate initial values of various setting values of theport monitor, and acquires them. The port monitor dedicated to the printserver is created by using the initial values, the above described IPaddress and the job sending method information.

[0191] The logical printer auto-creation module 703 creates the logicalprinter by using the port monitor created as described above and theprinter driver name acquired as described above.

[0192] <Process Flow of Print Server Setting Program 700>

[0193]FIG. 8 is a flowchart showing specifically a function of the abovedescribed print server setting program 700.

[0194] Step S801:

[0195] The total control module 701 calls the printer device informationcollection module 702 to detect the printer device on the network, andstores the printer device information acquired then.

[0196] Step S802:

[0197] The dedicated logical printer to be used in the above describedprint server is created by using the information acquired and storedtemporarily in step S801.

[0198]FIG. 9 shows the above described step S801 in more detail.

[0199] Step S901:

[0200] The printer device running on the network is detected bybroadcasting the packets following the SNMP (Simple Network ManagementProtocol) on the network and receiving their responses. In the responsepacket, the model name is included as a value of a MIB (ManagementInformation Base) object. In addition, the IP address is acquired as avalue of the MIB object.

[0201] Step S902:

[0202] It is determined whether one or more printer devices are detectedas a result of step S901.

[0203] Step S903:

[0204] If one or more printer devices are detected in step S902, theprinter device information collection module 702 controls to execute thefollowing processes from step S904 for each of the printer devices.Therefore, the printer device information collection module 702determines whether there is any printer device unprocessed.

[0205] Step S904:

[0206] One of the unprocessed printer devices is selected within theprogram.

[0207] Step S905:

[0208] Looking at the model name acquired from the device in step S901,of the printer device selected in step S904, if it is of the model whichis not compliant with the above described print server, the processskips to the process for the next printer device. Otherwise, the processproceeds to step S906.

[0209] Step S906:

[0210] The printer device information collection module 702 passes theIP address of the printer device on the network, which is acquired fromthe network printer device search module 705 in step S901, to theprinter device information storage module 704 to store it.

[0211] Step S907:

[0212] The printer device information collection module 702 passes themodel name of the printer device on the network, which is acquired fromthe network printer device search module 705 in step S901, to theprinter device information storage module 704 to store it.

[0213]FIG. 10 shows the above described step S802 in more detail.

[0214] Step S1001:

[0215] It is determined whether there is any printer device unprocessedin the printer device information storage module 704.

[0216] Step S1002:

[0217] One of the unprocessed printer devices in the printer deviceinformation storage module 704 is selected internally by the program.

[0218] Step S1003:

[0219] The model name and the IP address regarding the printer deviceselected in step S1002 are acquired from the printer device informationstorage module 704.

[0220] Step S1004:

[0221] The driver name conversion module 706 generates the driver namebased on the model name acquired in step S1003 and returns it to thelogical printer auto-creation module 703.

[0222] Step S1005:

[0223] The job sending method information acquisition module 707generates the job sending method and its setting information based onthe model name acquired in step S1003 and returns them to the logicalprinter auto-creation module 703.

[0224] Step S1006:

[0225] The port monitor initial value acquisition module 709 generatesthe initial values of the port monitor setting based on the model nameacquired in step S1003 and returns them to the print server dedicatedport monitor creation module 708.

[0226] Step S1007:

[0227] The new port monitor is created based on the IP address acquiredin step S1003 and the initial values of the port monitor settinggenerated in step S1006.

[0228] Step S1008:

[0229] The new logical printer is created based on the driver nameacquired in step S1004 and the port monitor created in step S1007.

[0230] According to the above described procedure, based on theinformation collected from the network with the SNMP, it is possible tocreate the new port monitor for realizing the extended feature to berealized in the output system, and to create the new logical printerassigned with that new port monitor. The new port monitor to be createdis generated as the object in which the member function for the serviceprovided in the new port monitor and the like are described, which arepreviously prepared by the print server setting program 700 according tothe present invention. As the service to be realized by the memberfunction of the new port monitor generated, there is the feature of, forexample, storing the print job data in the hard disk of the print serveronce without sending it to the printer, then reading the print job datato apply thereto the unique process such as splitting the job dependingon the contents of specification specified at the same time ofspecifying the printing, and sending the print job data to the printerin the system, and the like. When the instance of the port monitor isgenerated, the IP address, the data sending method and the like retainedare used as its members.

[0231] As described above, according to this embodiment, it may bepossible to facilitate significantly the process of creating the logicalprinter for the print server system to be used for the logical printerassigned with the inherent port monitor, or for the system for providingthe value-added printing feature, by the program for automaticallycreating the logical printer based on the information acquired from theprinter device connected to the network. Thereby, this embodimentcontributes to reduction in the user's effort regarding to the settingtask.

[0232] [Modification Common to the First and Second Embodiments]

[0233] The above described first and second embodiments have disclosedthe creation of the logical printer on a server machine when the printserver is operated on a dedicated server machine. However, instead ofthe server machine, if the system for providing the value-added (theextended feature) printing is introduced on the user machine (a clientcomputer), and that system uses the inherent port monitor, theprocedures in the above described first and second embodiments may beapplied.

[0234] In addition, if the printer is not found in the process of thefirst embodiment (the process of setting the port and the printer byusing the information which has been already set for the port monitor),it is also possible to execute the process of the second embodiment (theprocess of collecting the information from the printer on the network toset the port and the printer) by the program.

[0235] Furthermore, the present invention may be applied to a systemconsisting of a plurality of devices (for example, a host computer, aninterface device, a reader, the printer and the like), or may be appliedto an apparatus consisting of one device (for example, a copyingmachine, a facsimile machine and the like).

[0236] Moreover, the object of the present invention may also beachieved by providing the system or the apparatus a storage medium (or arecord medium) having stored a program code of software for realizingthe functions of the above described embodiments, reading and executingthe program code stored in the storage medium by the computer (or a CPUor a MPU) of above described system or the apparatus.

[0237] In this case, the program code itself read from the storagemedium may realize the functions of the above described embodiments, andthe program code itself and the storage medium having stored the programcode may configure the present invention.

[0238] In addition, not only the case where the functions of the abovedescribed embodiments are realized by executing the program code read bythe computer, but also the case is included in the present inventionwhere an operating system (OS) or the like operating on the computerexecutes all or part of actual processes based on instructions of theprogram code and that processes may realize the functions of the abovedescribed embodiments.

[0239] Furthermore, the case is also included in the present inventionwhere, once the program code read from the storage medium is written ina feature expansion card inserted into the computer or in a memoryprovided in a feature expansion unit connected to the computer, the CPUprovided in the feature expansion card or the feature expansion unit orthe like executes all or part of the actual processes based on theinstructions of the program code, and that processes may realize thefunctions of the above described embodiments.

[0240] As described above, according to the present invention, it may bepossible to execute system settings without putting a burden on the userand also without causing any mistake, when an output management deviceis set.

[0241] Specifically, the present invention utilizes the information setin an instance of a logical output device which has existed before theoutput management device is set, to enable to create easily and quicklythe logical output device to be uses by the above described outputmanagement device.

[0242] In addition, the present invention searches an output deviceconnected to the network and uses information acquired from the outputdevice, to enable to create easily and quickly the logical output deviceto be used by the above described output management device.

[0243] As many apparently widely different embodiments of the presentinvention can be made without departing from the spirit and scopethereof, it is to be understood that the invention is not limited to thespecific embodiments thereof except as defined in the appended claims.

What is claimed is:
 1. An output management device setting apparatus foran output management device utilizing a logical output device assignedwith unique communication control means for conducting a communicationwith an output device on a network, for setting said logical outputdevice, comprising: control means for setting said unique communicationcontrol means based on information set in general communication controlmeans assigned to the logical output device which has already existedbefore said output management device is installed.
 2. The outputmanagement device setting apparatus according to claim 1, wherein saidcontrol means uses attribute information on the output device which is acommunication target, set in said general communication control means,to set said unique communication control means.
 3. The output managementdevice setting apparatus according to claim 2, wherein said apparatususes the attribute information on the output device set in said generalcommunication control means to set said unique communication controlmeans, and newly creates said logical output device.
 4. An outputmanagement device setting apparatus for an output management deviceutilizing a logical output device assigned with unique communicationcontrol means for conducting a communication with an output device on anetwork, for setting said logical output device, comprising: deviceinformation acquisition means for acquiring from the output deviceexisting on the network, attribute information regarding said device;and control means for creating an instance of said unique communicationcontrol means, using the information acquired by said device informationacquisition means.
 5. The output management device setting apparatusaccording to claim 4, wherein said device information acquisition meansmay acquire the attribute information from an unspecified and unknowndevice existing on the network.
 6. The output management device settingapparatus according to claim 3, wherein said attribute informationincludes information representative of a model of said output device. 7.The output management device setting apparatus according to claim 3,wherein said attribute information includes an address which said outputdevice has.
 8. The output management device setting apparatus accordingto claim 3, wherein said attribute information includes a sending methodfor sending output data with respect to said output device.
 9. Theoutput management device setting apparatus according to claim 6, whereinsaid output device is a printing device.
 10. The output managementdevice setting apparatus according to claim 9, wherein when said outputmanagement device is installed, said apparatus newly creates a secondlogical output means assigned with said unique communication controlmeans, which is different from said existing first logical outputdevice, and sets said unique communication control means assigned tosaid second logical output means, based on information stored withrespect to said general communication control means assigned to saidfirst logical output device.
 11. The output management device settingapparatus according to claim 9, wherein when said output managementdevice is installed, said apparatus replaces said general communicationcontrol means assigned to said existing logical output device with saidunique communication control means set based on information which saidgeneral communication control means has.
 12. The output managementdevice setting apparatus according to claim 6, wherein said controlmeans further comprises model/driver name correspondence means fordeciding a driver name corresponding to said model from said acquiredinformation representative of the model.
 13. The output managementdevice setting apparatus according to claim 6, wherein said controlmeans further comprises model/sending method correspondence means fordeciding a method for sending job data corresponding to said model, fromsaid acquired information representative of the model.
 14. An outputmanagement device setting system comprising means for setting an outputmanagement device utilizing a logical output device assigned with uniquecommunication control means for conducting a communication with anoutput device on a network, wherein said system comprises an outputmanagement device setting apparatus according to claim
 1. 15. An outputmanagement system setting method for an output management systemutilizing a logical output device assigned with unique communicationcontrol means for conducting a communication with an output device on anetwork, for setting said logical output device, comprising the stepsof: acquiring setting information stored with respect to generalcommunication control means assigned to the logical output device whichhas already existed before said output management system is installed;and setting said unique communication control means based on saidacquired setting information.
 16. The output management system settingmethod according to claim 15, comprising the steps of: creating a secondlogical output device being different from a first logical output devicewhich has already existed before said output management system isinstalled; creating the unique communication control means for saidsecond logical output device; and setting said unique communicationcontrol means, using the setting information stored with respect to thegeneral communication control means assigned to said first logicaloutput device.
 17. The output management system setting method accordingto claim 15, comprising the steps of: creating the unique communicationcontrol means; setting said unique communication control means, usingthe setting information stored with respect to the general communicationcontrol means assigned to the logical output device which has alreadyexisted before said output management system is installed; and assigningsaid set unique communication control means as the communication controlmeans of said logical output device.
 18. An output management systemsetting method for an output management system utilizing a logicaloutput device assigned with unique communication control means forconducting a communication with an output device on a network, forsetting said logical output device, comprising the steps of: acquiringfrom the output device existing on the network, attribute informationregarding said device; and creating an instance of said uniquecommunication control means having a setting based on said acquiredinformation regarding the device.
 19. The output management systemsetting method according to claim 15, wherein said attribute informationincludes one or all of a model name, an address and a method for sendingoutput data, of the output device.
 20. A computer program for causing acomputer to realize features of an apparatus according to claim
 1. 21. Acomputer readable storage medium having stored a computer programaccording to claim
 20. 22. A computer program for setting an outputdevice, causing a computer to function as: collection means forcollecting information regarding the output device connected to saidcomputer, for printing with said output device; and generation means forusing the information collected by said collection means to generate anew program module for sending data to said output device, for saidoutput device.
 23. The computer program according to claim 22, whereinsaid collection means collects referring to the data corresponding tosaid output device, retained in said computer.
 24. The computer programaccording to claim 22, wherein said collection means collects from theoutput device directly or indirectly connected to said computer.
 25. Thecomputer program according to claim 22, wherein the program modulegenerated by said generation means has a feature of executing adistributed printing for the data to be printed, by the output deviceconnected to said computer.
 26. A method for setting a printer when aprogram of a print feature is installed, wherein said method sets theprinter using information which has been already registered.
 27. Amethod for setting a printer when a program of a print feature isinstalled, wherein when said method sets the printer using informationwhich has been already registered, if the printer can not be set, saidmethod collects information from a printer on a network to set theprinter.
 28. A program for setting a printer when a program of a printfeature is installed, wherein said program sets the printer usinginformation which has been already registered.
 29. A program for settinga printer when a program of a print feature is installed, wherein whensaid program sets the printer using information which has been alreadyregistered, if the printer can not be set, said program collectsinformation from a printer on a network to set the printer.
 30. Anapparatus for setting a printer when a program of a print feature isinstalled, wherein said apparatus sets the printer using informationwhich has been already registered.
 31. An apparatus for setting aprinter when a program of a print feature is installed, wherein whensaid apparatus sets the printer using information which has been alreadyregistered, if the printer can not be set, said apparatus collectsinformation from a printer on a network to set the printer.